package com.jcfk.system.domain.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import com.jcfk.common.business.entity.BaseEntity;
import lombok.Data;

@Data
@TableName("sys_permission")
public class SysPermission extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 版本号
     */
    @Version
    @TableField(value = "version")
    private Long version;


    /**
     * 父级 ID
     */
    @TableField(value = "parent_id")
    private String parentId;

    /**
     * 权限编码
     */
    @TableField(value = "permission_code")
    private String permissionCode;

    /**
     * 权限名称
     */
    @TableField(value = "permission_name")
    private String permissionName = "";

    /**
     * 类型（0 - 菜单， 1 - 功能）
     */
    @TableField(value = "permission_type")
    private Integer permissionType = 0;

    /**
     * 描述
     */
    @TableField(value = "description")
    private String description = "";

    /**
     * 页面打开方式
     */
    @TableField(value = "page_target")
    private String pageTarget;

    /**
     * 层级
     */
    @TableField(value = "layer")
    private Integer layer = 1;

    /**
     * 地址
     */
    @TableField(value = "url")
    private String url = "";

    /**
     * 图标
     */
    @TableField(value = "icon")
    private String icon = "";

    /**
     * 排序
     */
    @TableField(value = "sort")
    private Integer sort = 0;

    /**
     * 删除标志
     */
    @TableField(value = "deleted")
    private Integer deleted;

    /**
     * 启用标志
     */
    @TableField(value = "enabled")
    private Integer enabled;


    @TableField(value = "remarks")
    private String remarks = "";

    /**
     * 创建人姓名
     */
    @TableField(value = "created_user_name")
    private String createdUserName;

    /**
     * 最近一次更新人姓名
     */
    @TableField(value = "last_updated_user_name")
    private String lastUpdatedUserName;

    /**
     * 应用
     */
    @TableField(value = "application_type")
    private String applicationType;

    /**
     * 路由展示类型
     */
    @TableField(value = "show_type")
    private int showType;
}
